/* eslint-disable @typescript-eslint/no-explicit-any */
/*
 *  Copyright 2021 Collate
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *  http://www.apache.org/licenses/LICENSE-2.0
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

 /**
 * Create Dict request
 */
export interface CreateDict {
    /**
     * 数据标准分类的描述
     */
    description?: string;
    dictType:     DictType;
    /**
     * 数据标准分类的展示名称
     */
    displayName?: string;
    name:         string;
    provider?:    ProviderType;
    /**
     * Sort order for the standardType. Default is 1000. StandardType with smaller sort number
     * will be displayed first.
     */
    sort?: number;
}

/**
 * dict type
 */
export enum DictType {
    ColumnType = "ColumnType",
    Other = "Other",
    StandardType = "StandardType",
}

/**
 * Type of provider of an entity. Some entities are provided by the `system`. Some are
 * entities created and provided by the `user`. Typically `system` provide entities can't be
 * deleted and can only be disabled.
 */
export enum ProviderType {
    System = "system",
    User = "user",
}
